home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / 0042276.lsp < prev    next >
Text File  |  1998-03-15  |  6KB  |  160 lines

  1. (EAITDBL "0042276")
  2. (EAITmsg "mb_mld10" "\n" "002" nil) (princ "........") (princ EAITnrx) (princ "\n")
  3. (princ)
  4.  
  5.  
  6. (defun C:42276S (/ P P0 P1 P2 P3 P4 E1 E2 E3 E4 E7 Li
  7.                    Lix Wi KW BName n Ben2 W1 W2)
  8.    (EAITDBL "0042276")
  9.    (princ (strcat "\n\n" EAITbez1))
  10.    (EAITvari)
  11.    (if (not EAITlpr)(setq EAITlpr 0.0))
  12.    (EAITvars)
  13.    (EAITbpt nil nil nil)
  14.    (setq P1 (getpoint))
  15.    (if (= P1 nil)(setq P1 (EAITrpt)))
  16.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  17.    (initget (+ 2 4))
  18.    (setq Li (getdist " "))
  19.    (if (= Li nil)(setq Li EAITlpr))
  20.    (setq Li (EAITck Li))
  21.    (setq Li (atof (rtos (abs Li) 2 1)))
  22.    (princ "\n  -> ")(princ Li)
  23.  
  24.    (setvar "OSMODE" 0)
  25.    (setvar "ORTHOMODE" 0)
  26.    (initget 1)
  27.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  28.    (setq Wi (getangle P1))
  29.    (setq Wi (* 180.0 (/ Wi Pi)))
  30.    (cond 
  31.           ((and (>= Wi  0)  (< Wi  45)) (setq P  6.45 KW   0 W1 45 W2 74) )
  32.           ((and (>= Wi 45)  (< Wi  90)) (setq P -6.45 KW  90 W1 45 W2 16) )
  33.           ((and (>= Wi 90)  (< Wi 135)) (setq P  6.45 KW  90 W1 135 W2 164) )
  34.           ((and (>= Wi 135) (< Wi 180)) (setq P -6.45 KW 180 W1 135 W2 106) )
  35.           ((and (>= Wi 180) (< Wi 225)) (setq P  6.45 KW 180 W1 225 W2 254) )
  36.           ((and (>= Wi 225) (< Wi 270)) (setq P -6.45 KW 270 W1 225 W2 196) )
  37.           ((and (>= Wi 270) (< Wi 315)) (setq P  6.45 KW 270 W1 315 W2 344) )
  38.           (T                            (setq P -6.45 KW   0 W1 315 W2 286) )
  39.    )
  40.    (setq P2 (polar P1 (EAITgib KW) Li)
  41.          P3 (polar P2 (EAITgib (+ KW 90)) P)
  42.          P4 (polar P1 (EAITgib (+ KW 90)) P)
  43.    )
  44.    (command EAITlay EAITlse "EAIT50" "")
  45.    (command "_.line" P1 P2 "")
  46.    (setq E1 (entlast))
  47.    (command "_.line" P2 P3 P4 P1 "")
  48.    
  49.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  50.  
  51.    (setq BName (EAITbnr))
  52.    (command EAITblo BName P1 E1 E2 E3 E4 "")
  53.    (command EAITege BName P1 "" "" "")
  54.  
  55.    (setq Li (rtos (abs Li) 2 1))
  56.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W1) 5) "" "" ""
  57.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  58.    )
  59.  
  60.    (EAITvarz2)
  61.    (princ)
  62. );defun 42276S
  63.  
  64.  
  65. (defun C:42276D ( / P0 P01 P1 P2 P3 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 PS0 PS1
  66.                      E1 E2 E3 E4 Li Wi BName NL)
  67.    (EAITDBL "0042276")
  68.    (princ (strcat "\n\n" EAITbez1))
  69.    (EAITvari)
  70.    (if (not EAITlpr)(setq EAITlpr 0.0))
  71.    (EAITvars)
  72.    (setvar "ORTHOMODE" 0)
  73.    (setvar "OSMODE" 32)
  74.    (EAITmsg "mb_mld12" "\n" "015" nil)  ;1. Nutlinie
  75.    (setq NL (entsel " "))
  76.    (setq P01(osnap (cadr NL) EAITofnaec))
  77.    (setvar "APERTURE" 4)
  78.    (setvar "OSMODE" 0)
  79.    (setq P9 (osnap P01 EAITofend)
  80.          P10 (osnap P01 EAITofmit)
  81.          Wi1 (angle P9 P10)
  82.    )
  83.    
  84.    (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "001")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  85.    (setq P1 (getpoint P01))
  86.    (if (= P1 nil)(setq P1 (EAITrpt)))
  87.    (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  88.    (while (NOT(equal (distance P1 PS1) 8 0.0000000001))
  89.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  90.      (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "003")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  91.      (setq P1 (getpoint P01))
  92.      (if (= P1 nil)(setq P1 (EAITrpt)))
  93.      (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  94.    )
  95.  
  96.    (setvar "OSMODE" 512)
  97.    (initget (+ 1 2 4))
  98.    (EAITmsg "mb_mld14" "\n\n" "004" " :<")(princ EAITofnaec)(princ ">")  ;Richtung auf Profil (Punkt auf zweiter Nutlinie)
  99.    (setq P0 (getpoint P1))
  100.    (setq Wi (angle P1 P0))
  101.    (while (AND (NOT(equal Wi Wi1 0.000000001))(NOT (equal Wi (+ Wi1 Pi) 0.000000001)))
  102.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  103.      (initget (+ 1 2 4))
  104.      (EAITmsg "mb_mld14" "\n\n" "005" " :<")(princ EAITofnaec)(princ ">")  ;Neue Richtung auf Profil (Punkt auf zweiter Nutlinie)
  105.      (setq P0 (getpoint P1))
  106.      (setq Wi (angle P1 P0))
  107.    )    
  108.  
  109.    (setvar "OSMODE" 9)
  110.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  111.    (initget (+ 2 4))
  112.    (setq Li (getdist " "))
  113.    (if (= Li nil)(setq Li EAITlpr))
  114.    (setq Li (EAITck Li))
  115.    (setq Li (atof (rtos (abs Li) 2 1)))
  116.    (princ "\n  -> ")(princ Li)
  117.  
  118.    (setvar "OSMODE" 0)
  119.    (setq PS1 (inters P1 (polar P1 (+ Wi(/ Pi 2))10) P9 P10 nil)
  120.          P2 (mapcar '/ (mapcar '+ P1 PS1) '(2 2 2))
  121.          P3 (polar P2 Wi Li)
  122.          P11 (polar P2  (- Wi (EAITgib 90)) 16.95)
  123.          P12 (polar P11 Wi Li)
  124.          P13 (polar P12 (+ Wi (EAITgib 90)) 33.9)
  125.          P14 (polar P11 (+ Wi (EAITgib 90)) 33.9)
  126.    )
  127.    (if (/= (cdr (assoc 2 (entget (car NL)))) nil) (command EAITurs NL))
  128.    (command EAITzom EAITzomi (mapcar '/ (mapcar '+ P2 P3) '(2 2 2)) P12 P14)
  129.    (if (/= (ssget (polar P2 (+ Wi (/ Pi 4))(/ 4 (cos (/ Pi 4))))) nil)
  130.          (command EAITbru (polar P2 (+ Wi (/ Pi 4))(/ 4 (cos (/ Pi 4)))) EAITbre
  131.                           (polar P2 (+ Wi (/ Pi 2)) 4) (polar P3 (+ Wi (/ Pi 2)) 4)
  132.          )
  133.    )
  134.    (if (/= (ssget (polar P2 (- Wi (/ Pi 4))(/ 4 (cos (/ Pi 4))))) nil)
  135.          (command EAITbru (polar P2 (- Wi (/ Pi 4))(/ 4 (cos (/ Pi 4)))) EAITbre
  136.                           (polar P2 (- Wi (/ Pi 2)) 4) (polar P3 (- Wi (/ Pi 2)) 4)
  137.          )
  138.    )
  139.    (command EAITzom EAITzov)
  140.    (command EAITlay EAITlse "EAIT50" "")
  141.    (command "_.line" P11 P12 "" )
  142.    (setq E1 (entlast))
  143.    (command "_.line" P12 P13 P14 P11 "")
  144.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  145.  
  146.    (setq BName (EAITbnr))
  147.    (command EAITblo BName P1 E1 E2 E3 E4 "")
  148.    (command EAITege BName P1 "" "" "")
  149.  
  150.    (setq Li (rtos (abs Li) 2 1))
  151.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 30)) 20) "" "" ""
  152.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  153.    )
  154.  
  155.    (EAITvarz2)
  156.    (princ)
  157. );defun 42276D
  158.  
  159. (princ)
  160.